Как ежедневно строить графики из csv файлов

24.08.2017

Допустим вы ведете файл Excel с продажами сотрудников. Вы бы хотели видеть результаты продаж за месяц в виде графика. Так быстрее и проще оценить эффективность сотрудника. Хорошо бы видеть разницу в показателях с предыдущим днем. Такой отчет необходим вам каждое утро. На помощь к нам приходит FastReport Desktop. С помощью него мы создадим отчет с красивым графиком и поставим задачу в планировщике на ежедневную отправку отчета к вам на электронный почтовый ящик.

Определимся с источником данных. Это будет csv файл, например, с таким содержанием:

 

У нас три колонки: номер заказа, дата оформления заказа, фамилия продавца.

Предположим этот файл ежедневно пополняется новыми данными. Тогда каждое утро начальник будет получать отчет с графиком продаж по сотрудникам.

Давайте создадим отчет. Добавляем новый источник данных – CSV файл.

 

Размещаем на странице отчета объект Диаграмма. Не важно на каком бэнде. Пусть это будет бэнд Данные.

 

Как вы заметили, заголовок отчета содержит дату:

 

Мы воспользовались системной переменной [Date], а, чтобы отобразить дату без времени применили функцию FormatDateTime.

Перейдем к диаграмме. Сделаем двойной клик по ней:

 

Вверху справа нужно выбрать источник данных для диаграммы, который называется у нас «Диаграмма». Диаграмма состоит из серий, которые собственно и представляют собой диаграммы. У нас уже есть одна добавленная серия – Series 1. Кликаем по ней.

На вкладке «Данные» нам нужно определить какие поля из источника мы будем отображать. Для значения X выбираем поле FirstName. Для значения Y – OrderID.

Выше есть поле «Фильтр». В него добавим вот такое сложное выражение:

FormatDateTime(ToDateTime([Диаграмма.OrderDate]), "MMYYYY") == FormatDateTime([Date], "MMYYYY")

Здесь мы получаем месяц и год из поля OrderDate и сравниваем его с текущим месяцем и годом. Таким образом мы фильтруем актуальные для текущего года и месяца данные.

Изменим имя серии на «Сегодня»:

 

Перейдем на вкладку «Обработка данных». Здесь мы включим группировку данных по «Значению X», а функция - Количество:

 

На вкладке «Подписи» выбираем «Тип подписи:» - Y

 

Теперь давайте добавим еще одну серию в диаграмму и назовем ее «Вчера»:

 

Настраиваем ее с такими же параметрами, как и первую серию, с одним лишь изменением. В фильтре появится еще одно условие:

(FormatDateTime(ToDateTime([Диаграмма.OrderDate]), "MMYYYY") == FormatDateTime([Date], "MMYYYY"))&&(ToDateTime([Диаграмма.OrderDate])<AddDays([Date],-1))

Теперь мы проверяем, чтобы данные были на дату меньше текущей на один день. Это даст нам возможность сравнить продажи на сегодняшний и вчерашний день.

Итак, отчет готов. Давайте создадим конфигурацию, которая будет отправлять отчет по почте. Запускаем приложение Configurator из пакета FastReport Desktop.

 

Выбираем файл отчета, отмечаем опцию «Export as» и выбираем формат PDF. Теперь включаем опцию «Send e-mail». При этом будет предложено настроить отправку писем:

 

И

 

Сохраняем файл конфигурации с помощью кнопки Save.

Запускаем приложение Scheduler из пакета FastReport Desktop.

Создаем задачу и редактируем параметры:

 

Выбираем файл конфигурации, триггер – Every day, дату и время начала. Периодичность повторения 1 день. Теперь каждый день в 17.00 начальнику будет приходить письмо на электронный почтовый ящик.

Давайте ради интереса запустим задачу, не дожидаясь времени исполнения. Делаем правый клик по задаче и выбираем Run task now:

 

И получаем письмо с вложенным pdf файлом. А в нем наш график:

 

Как видите, за какие-то 10-15 минут мы создали полезный инструмент для контроля. Вы также можете автоматизировать отправку других графиков и диаграмм.

2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.
8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.